package pkg

// 面向对象编程
// 3大特性： 封装，继承，多态
// JAVA: 4大特性  封装， 继承，多态， 抽象

// 结构体
// type: 类型
// Student: 名字
// 表示是个结构体类型
// type Student interface  // 接口

// # # # #     [{
// 	# # # #         "name": "张三",
// 	# # # #         "age": 19,
// 	# # # #         "身高": 1.75,
// 	# # # #         "isnan": True,
// 	# # # #         "爱好": ["打篮球", "看书", "玩游戏", "飞机"]
// 	# # # #     },
// # # # #     {
// 	# # # #         "name": "张三",
// 	# # # #         "age": 19,
// 	# # # #         "身高": 1.75,
// 	# # # #         "isnan": True,
// 	# # # #         "爱好": ["打篮球", "看书", "玩游戏", "飞机"]
// 	# # # #     }]
// private
// 指针(地址)
// &:  取地址符号
// *： 声明的时候表示 是一个指针，
// 如果变量使用的时候， 那么就是取指针的值
type Student struct {
	Name   string
	age    int
	height float32
	gender bool
	Hobby  []string
}

func NewStudent() *Student {
	return &Student{
		Name: "张三",
		age:  5,
	}
}

func (stu *Student) CheckName(name string) bool {
	return stu.Name == name
}
